package com.silence.ByteDance;

import java.util.*;

// 寻找游戏队友
public class easy_84 {
    public static void main(String[] args) {
        // Add your test cases here
        System.out.println(Arrays.equals(solution(1, 10, new int[][]{
                {1, 1}, {1, 2}, {1, 3},
                {2, 1}, {2, 4},
                {3, 2},
                {4, 1}, {4, 2},
                {5, 2}, {5, 3}}), new int[]{4, 5}));
    }

    public static int[] solution(int id, int num, int[][] array) {
        // Edit your code here
        Map<Integer, List<Integer>> map = new HashMap<>();
        for (int i = 0; i < num; i++) {
            if (map.get(array[i][0]) == null) {
                List<Integer> list = new ArrayList<>();
                list.add(array[i][1]);
                map.put(array[i][0], list);
            } else {
                List<Integer> list = map.get(array[i][0]);
                list.add(array[i][1]);
                map.put(array[i][0], list);
            }
        }
        if (map.get(id).size() < 2) {
            return null;
        } else {
            List<Integer> resList = new ArrayList<>();
            Collection<Integer> ids = map.keySet();
            List<Integer> list_thisId = map.get(id);
            ids.remove(id);
            for (Integer idd : ids) {
                List<Integer> list_compareId = map.get(idd);
                int sameNum = 0;
                for (Integer integer_thisId : list_thisId) {
                    for (Integer integer_compareId : list_compareId) {
                        if (integer_compareId.equals(integer_thisId)) {
                            sameNum++;
                            break;
                        }
                    }
                }
                if (sameNum >= 2) {
                    resList.add(idd);
                }
            }
            int[] res = new int[resList.size()];
            for (int i = 0; i < resList.size(); i++) {
                res[i] = resList.get(i);
            }
            Arrays.sort(res);
            return res;
        }
    }
}
